package com.azxcrm.project.system.product.dao;

import java.util.List;

import com.azxcrm.project.system.product.domain.ProductInfo;	

/**
 * 产品类型 数据层
 * 
 * @author Dustyone
 * @date 2018-09-04
 */
public interface IProductInfoDao 
{

	/**
     * 查询产品类型信息
     * 
     * @param productId 产品类型ID
     * @return 产品类型信息
     */
	public ProductInfo selectProductInfoById(Integer productId);
	
	/**
     * 查询产品类型列表
     * 
     * @param productInfo 产品类型信息
     * @return 产品类型集合
     */
	public List<ProductInfo> selectProductInfoList(ProductInfo productInfo);
	
	/**
     * 通过产品类型id查询产品类型列表
     * 
     * @param productInfo 产品类型信息
     * @return 产品类型集合
     */
	public List<ProductInfo> selectProductInfoByTypeId(Integer typeId);
	
	/**
     * 新增产品类型
     * 
     * @param productInfo 产品类型信息
     * @return 结果
     */
	public int insertProductInfo(ProductInfo productInfo);
	
	/**
     * 修改产品类型
     * 
     * @param productInfo 产品类型信息
     * @return 结果
     */
	public int updateProductInfo(ProductInfo productInfo);
	
	/**
     * 删除产品类型
     * 
     * @param productId 产品类型ID
     * @return 结果
     */
	public int deleteProductInfoById(Integer productId);
	
	/**
     * 批量删除产品类型
     * 
     * @param productIds 需要删除的数据ID
     * @return 结果
     */
	public int batchDeleteProductInfo(Integer[] productIds);
	
	/**
	 * 查看级联的产品品种是否被引用
	 * @param specId
	 * @return
	 */
	public int checkProductSpecCasecaded(Integer specId);
	
}